Інформація про навчальний заклад

ВУЗ:
Національний технічний університет України Київський політехнічний інститут
Інститут:
Не вказано
Факультет:
ЗІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2021
Тип роботи:
Звіт
Предмет:
Алгоритмізація та програмування

Частина тексту файла

Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського» Алгоритмізація та програмування 1: Базові концепції програмування ЗВІТ до модульної контрольної роботи № 2 Варіант 16(1) Дата «15» грудня 2021 Завдання за варіантом: (16) / Тобто варіант 8, тобто 4-й. Матриця шифрування:  7  6  4  5   ЗАКОДОВАНЕ ПОВІДОМЛЕННЯ: «kpah» Варіант роботи коли ми беремо «а» як символ під номером 1: / Та варіант виконання задачі коли ми беремо «а» як символ під номером 0: / Код програми: На перевірку буде надісланий варіант програми, за яким «а» під номером 1. Посилання на Repl.it: https://replit.com/join/jnhrpcfmna-tr-15khavkin #include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h> void modar(int ar[2][2], float ar2[2][2],float deter){ float n; int mat[2][2]; for(int i=0; i<2;i++)//Знаходження оберненої матриці без визначника for(int j=0;j<2;j++) mat[j][i]=pow(-1,i+j)*ar[1-i][1-j]; for(int i=0; i<2;i++){ for(int j=0;j<2;j++){ int k=1; int mo = 0; n = ar2[i][j]; while(mo!=1){ if(n<0){ if(n != round(n)){ ar2[i][j]=(mat[i][j]+26*k)/deter; n=ar2[i][j]; }else{ ar2[i][j]=ar2[i][j]+26*k; n=ar2[i][j]; } }else if(n != round(n)){ ar2[i][j]=(mat[i][j]+26*k)/deter; n=ar2[i][j]; }else{ ar2[i][j]=round(n); mo=1; } k++; } } } } void printMatrix(int arr[2][2]){//Метод для виводу матриці printf("Задана матриця"); for(int i=0; i<2;i++){ printf("\n"); for(int j=0;j<2;j++){ printf("\t%d\t", arr[i][j]); } } } float getN(int arr[2][2]){//Метод для обчислювання визначинка 2 float N=0; N=arr[0][0]*arr[1][1]-arr[0][1]*arr[1][0]; if (N == 0){ printf("\nВизначник дорівнєю 0, обчислення неможливе \n"); } else { printf("\nВизначник: %f", N); } return N; } int main(void){ int a[2][2], i, j; float mat[2][2]; float det; printf("Ввести початкову данні для матриці:\n"); for(i = 0; i < 2; i++)//Ввод початкових данних for(j = 0; j < 2; j++) scanf("%d", &a[i][j]); printMatrix(a); det = getN(a); for(int i=0; i<2;i++)//Знаходження оберненої матриці for(int j=0;j<2;j++) mat[j][i]=pow(-1,i+j)*a[1-i][1-j]/det; printf("\nОбернена матриця");//Вивід оберненої матриці for(int i=0; i<2;i++){ printf("\n"); for(int j=0;j<2;j++){ printf(" %.4f ", mat[i][j]); } } printf("\nОбернена матриця після обрацювання"); modar(a, mat,det); int arr3[2][2]; for(int i=0; i<2;i++){ printf("\n"); for(int j=0;j<2;j++){ arr3[i][j]=round((int)mat[i][j]); printf(" %d ", arr3[i][j]); } } printf("\nВвести початкову строку:"); char str1[5]=""; int kod[4]; scanf("%4s", str1); printf("\nПочаткова строка: %s", str1); char alf[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; printf("\nЇї код:"); for(int i=0;i<4;i++){ for(int j=0;j<26;j++){ if(str1[i]==alf[j]){ kod[i]=j+1; } } printf(" %d ",kod[i]); } int arr4[2][1]; int f=0; for(int i = 0; i < 2; i++){ arr4[i][0]=arr3[i][0]*kod[f]+arr3[i][1]*kod[f+1]; } f=f+2; printf("\nВектор результатів для %c%c: після mod 26:",str1[0],str1[1]); for(int i = 0; i < 2; i++){ if(arr4[i][0]>26) arr4[i][0]=arr4[i][0]%26; kod[i]=arr4[i][0]; printf("\n%d", arr4[i][0]); } for(int i = 0; i < 2; i++){ arr4[i][0]=arr3[i][0]*kod[f]+arr3[i][1]*kod[f+1]; } printf("\nВектор результатів для %c%c: після mod 26:",str1[2],str1[3]); for(int i = 0; i < 2; i++){ if(arr4[i][0]>26) arr4[i][0]=arr4[i][0]%26; kod[i+2]=arr4[i][0]; printf("\n%d", arr4[i][0]); } printf("\nКод отриманого повідомлення:\n"); for(int i=0; i<4;i++){ printf("%d ", kod[i]); }...
Антиботан аватар за замовчуванням

19.06.2023 18:06

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини